#pragma once
#include "vtkmrmlvolumedisplaynode.h"

class vtkMRMLImageDisplayNode :
	public vtkMRMLVolumeDisplayNode
{
public:
	static vtkMRMLImageDisplayNode * New();
	vtkTypeRevisionMacro(vtkMRMLImageDisplayNode,vtkMRMLVolumeDisplayNode);
	virtual vtkMRMLNode* CreateNodeInstance();
	virtual const char* GetNodeTagName() ;
	vtkSetObjectMacro(ImageData, vtkImageData);
	vtkSetObjectMacro(OutImageData, vtkImageData);
	vtkGetObjectMacro(OutImageData, vtkImageData);
	virtual vtkImageData* GetImageData();
	 virtual void UpdateImageDataPipeline();
protected:
	vtkImageData * ImageData;
	vtkImageData * OutImageData;
	~vtkMRMLImageDisplayNode(void);
	vtkMRMLImageDisplayNode(void);
	vtkMRMLImageDisplayNode(const vtkMRMLImageDisplayNode &);
	void operator = (const vtkMRMLImageDisplayNode &);
	int IsBuildPipeline;
public:
	virtual void BuildPipeline(void);
};
